perm filename XABS[TLK,DBL] blob sn#188025 filedate 1975-11-23 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00008 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.DEVICE XGP
C00004 00003	5↓_Automated Math Theory Formation._↓*
C00007 00004	2↓_AM as a computer program_↓*
C00010 00005	2↓_The Overall Goal Structure of AM_↓*
C00014 00006	2↓_Sketch of AM in Action_↓*
C00020 00007	2↓_Measuring AM's Success_↓*
C00024 00008	2↓_Concluding Remarks_↓*
C00028 ENDMK
C⊗;
.DEVICE XGP

.FONT 1 "BASL30"
.FONT 2 "BASB30"
.FONT 4  "BASI30"
.FONT 5  "BDR40"
.FONT 6  "NGR25"
.FONT 7  "NGR20"
.FONT 8  "GRK30"
.FONT A "SUP"
.FONT B "SUB"
.TURN ON "↑α↓_π[]{"
.TURN ON "⊗" FOR "%"
.TURN ON "@" FOR "%"
.PAGE FRAME 54 HIGH 80 WIDE
.AREA TEXT LINES 4 TO 53
.COUNT PAGE PRINTING "1"
.TABBREAK
.ODDLEFTBORDER←EVENLEFTBORDER←1000
.AT "ffi" ⊂ IF THISFONT ≤ 4 THEN "≠"  ELSE "fαfαi" ⊃;
.AT "ffl" ⊂ IF THISFONT ≤ 4 THEN "α∞" ELSE "fαfαl" ⊃;
.AT "ff"  ⊂ IF THISFONT ≤ 4 THEN "≥"  ELSE "fαf" ⊃;
.AT "fi"  ⊂ IF THISFONT ≤ 4 THEN "α≡" ELSE "fαi" ⊃;
.AT "fl"  ⊂ IF THISFONT ≤ 4 THEN "∨"  ELSE "fαl" ⊃;
.SELECT 1
.MACRO B ⊂ BEGIN VERBATIM GROUP ⊃
.MACRO B1 ⊂ BEGIN PREFACE 0 INDENT 0 SINGLE SPACE ⊃
.MACRO E ⊂ APART END ⊃
.MACRO FAD ⊂ FILL ADJUST DOUBLE SPACE PREFACE 2 ⊃
.MACRO FAS ⊂ FILL ADJUST SINGLE SPACE PREFACE 1 ⊃
.FAS
.SELECT 1
.PORTION THESIS
.PAGE←0
.NEXT PAGE
.INDENT 0
.TURN OFF "{∞→}"   
.GROUP SKIP 1
⊗5↓_Automated Math Theory Formation._↓⊗*

.EVERY HEADING(⊗7Douglas B. Lenat, {DATE},page   {PAGE})

Researchers in all branches of science continually face the difficult
task of formulating problems and subproblems 
which must be soluble yet
nontrivial.
In any given field, 
it is usually easier to
tackle a specific given problem than to
propose interesting yet managable
new questions to investigate.
For example, contrast    ⊗4solving⊗* the Missionaries and Cannibals
problem,
against the more ill-defined task of 
⊗4inventing⊗* it ("create a new puzzle, which can be explained in under a minute,
which can be solved by an  intelligent person in several minutes").

For my dissertation, I am investigating
creative theory formation in ⊗4mathematics⊗*: 
how to propose interesting new concepts  and plausible
hypotheses connecting them.
There are several reasons for choosing math as a task domain, and several
domain-specific hypotheses that I have developed about doing that task.
These are discussed elsewhere [ask author for full proposal].


The   experimental vehicle   of my research is
a computer program called AM
(for ⊗2↓_A_↓⊗*utomated ⊗2↓_M_↓⊗*athematician),
which can actually do very simple mathematical research:
formulate new definitions out of existing ones,
propose some plausible conjectures (and, less importantly, sometimes
prove them),
and evaluate new concepts for aesthetic
interestingness. 

.SKIP 2

⊗2↓_AM as a computer program_↓⊗*

At any moment, AM is simply a collection of partially filled out data structures.
Each structure, called a Being, corresponds to one mathematical concept
(e.g.: bag, induction, the set of prime numbers, intersection). Each Being
has room for about 30 parts (slots) which correspond to the facets of that
particular concept (e.g.: definition, domain/range, algorithms, examples, worth).
The control structure of AM is simply to repeatedly select a blank part of a Being
(an unexplored facet of a concept; an empty slot of a data structure) 
and fill in that part of that Being. In so doing, some new potential concepts
will usually be noticed, and some of them will be added to the list of Beings
that AM knows about. Some ways that these new concepts arise are:
(i) When filling in examples of B, one of those examples may be very interesting;
(ii) By generalizing or specializing B's definition; (iii) By noticing an empirical
pattern and trying to formalize that phenomenon;
(iv) As the result of executing B, where
B is any Being which is an operation (e.g., Compose).
When a new Being is first created,
most of its 30 parts will be blank; thus AM will have dozens of new 
specific tasks added to its space of possible actions (total number of blank
parts in the system).
That is,
AM's activities all serve to expand AM itself, to enlarge upon a given body
of mathematical knowledge. 


.SKIP 2

⊗2↓_The Overall Goal Structure of AM_↓⊗*

Why does AM do the specific things it does? What is its actual motivation?
Before answering this ⊗4locally⊗*, let us first glance again at the ⊗4global⊗*
objective of AM's efforts. AM tries to extend itself, to explore mathematical
concepts and thereby uncover new relationships and new concepts.
Now how should AM do this? In order to notice new relationships, empirical
evidence must be examined for patterns. This in turn demands some empirical
evidence be collected. So one type of activity that AM will do is to
(i) find examples of various concepts and relationships, (ii) examine that
evidence and try to induce a plausible future course of action.
[⊗7Such inferences might be based on heuristics like "if no examples are found,
try to generalize the Being and look for examples of the new Being";
"if all the examples of B are
also examples of an existing Being BB,
then conjecture that B is a generalization of BB"⊗*].
Another type of activity, generalizing and specializing  existing Beings,
is not engaged in so loosely. It can't hurt to spend time filling in examples
of interesting concepts, but it can be a total waste to blindly specialize and
generalize: how can we judge the interestingness of the new concept? So most of
the other activities of AM must be specificly called for, explicitly motivated.
These activities include: generalize (⊗7make the definition easier to
satisfy⊗*), specialize, define a new concept,
and Apply ⊗4any⊗* Being that is an operation to some legitimate arguments
(e.g.: ⊗7"compose 2 operations"; "coalesce 2 arguments of an operation". 
These create
new Beings, new operations. "Reverse an ordered pair". This just creates a new
ordered pair⊗*). In all, there are about 25 operations that can be applied.

The key to remember is that filling in examples gets raw material for making
judgments. The time is rarely wasted, but not very many interesting new Beings
arise from this process.
Most of AM's other allowed activities have incredibly low usefulness unless
there is a specific reason for doing one of them; in that case, its worth
dwarfs that of "finding examples".


.SKIP 2

⊗2↓_Sketch of AM in Action_↓⊗*

An example scenario will now be presented, illustrating this mode of research.
AM has in fact done all these things as of November 10, 1975.

.SKIP 1

.B1

(1) Fill in some examples of sets.
⊗7It is easy to find examples. We can instantiate the definitions of Set-structure,
instantiate its intuitions, view other things as sets, invert the recursive
definition and create new sets out of existing ones, etc. The generality of
this concept leads AM to consider conjoining, onto the definition of a set,
some features that would make any set interesting.⊗*

(2) Create a new Being, an interesting-set-structure concept, whose definition is
  "any set S, for which there is some interesting predicate P, and each pair 
  of elements of S satisfies P". ⊗7This feature was selected by the Being named
Structure. Notice that any example of this concept will automatically be an
interesting set. In this case, what we mean is that the elements will be related
to each other in some way besides being in the same given set; they will have some
semantic connection.⊗*

(3) Fill in examples of such "interesting" sets. ⊗7Whenver one is found, AM boosts
the interestingness of the predicate P that all the elements satisfied.
  Empirically, AM found several sets all of whose elements were EQUAL.
  Those sets are just EMPTY-SETS and SINGLETONS, in fact. AM can create a new
concept, "sets whose elements are all equal to each other".⊗*

(4) The predicate EQUAL became so interesting that attention was switched to
  filling in examples of it; that is, finding things which were equal.
⊗7Empirically, very few randomly-chosen pairs of things turned out equal.
  AM has a heuristic that in this case, we should generalize the predicate.⊗*

(5) Fill in generalizations of EQUAL. 
⊗7For the first time, due to a specific heuristic, AM is going to create
new Beings instead of just filling in examples of existing ones. To generalize
the Being EQUAL,
its recursive definitions are
  examined syntactically and altered. One out of the two conjoined recursive 
  calls is simply deleted. That is, instead of recursing on the CAR and CDR,
  the new function will only recurse on the CDR (or only on the CAR). One of
  these results is EQUALITY-OF-LENGTH, that is, cardinality. The other
  generalization is HAS-THE-SAME-FIRST-ELEMENT-AS, which is not as interesting.
EQUAL actually has other definitions and is generalized in other ways. 4 new
generalizations seem interesting and are retained as new Beings.⊗*

.E

In addition to discovering Cardinality, AM has created dozens of new compositions
and coalescings of operations. [⊗7Many of these have been interesting from a human
standpoint, but many have been aesthetically disgusting. It is hoped that
the intuition scenarios will prune away most of these horrible creations, like
this one: "take an object x; insert x into x; see if x is the same length as
object y; if so, delete T from y; if not, delete NIL from y". The ugliness of
this arises because (i) you can't poossibly think of why anyone would ever want
to do this, (ii) deleting from a structure means you use the contents of the
structure, whereas comparing lengths means you don't use the contents; juxtaposing
these two very different views on one poor structure is unrealistic, unaesthetic,
and hard to even imagine intuitively. Hopefully, AM will have the same troubles
and reject this composition.⊗*]

.SKIP 2
⊗2↓_Measuring AM's Success_↓⊗*

There is no specific "goal" that AM is supposed to achieve; in fact, the 
specification of any such preconceived goal would probably interfere with
creating a system general enough to explore a large space of concepts.
Rather, AM aims toward doing what can actually be called mathematical
research (although it starts at such a primitive level that it probably
won't discover anything new to Man).
Some "milestones" in its development might be the following:

.SKIP 1

.B1

(1) Define a new concept, far removed from anything it began with,
which is interesting (e.g., "prime numbers", "lattice", "gcd").

(2) Find examples of some interesting concept AM has created.

(3) Propose a non-trivial conjecture involving 
such newly-created interesting concepts.

(4) For these new concepts and  conjectures, explain intuitively why they
are interesting, why they were
proposed, how one might go about proving the conjectures or developing the
concepts further.

.E

Some measures of success (in decreasing order) include the following:

.SKIP 1

.B1

(1) Compare the given initial knowledge to the derived knowledge.
Observe the quantity, the depth of sophistication, the variety and quality.

(2) Examine the route AM took to do anything. Does it resemble blind searching?
Did AM quickly recognize truly fruitful new concepts? Quickly abandon
developing truly worthless ones? What was its reasoning at each step?

(3) Examine the character of the user-system dialogue. Must the user provide
too many hints? Does he have no control at all? Can he follow what AM does?

(4) Is AM really an experimental vehicle? Can you push it into discovering
quite different mini-theories, or (like PARRY and PUP6) does it try to get back
onto one single main line of development? Can you  excise or add a few Beings
and see interesting changes in behavior? Does changing the judgmental criteria
change the behavior in interesting ways? Can these be easily adjusted?

(5) Pragmatics:
Is AM practical on today's machines (space and time considerations)?
Has anyone shown great interest in it? Gotten a dissertation out of it?
Gotten N papers out of it?

.E

⊗2↓_Concluding Remarks_↓⊗*

As of November 20, the system contains about 100 Beings, each starting out
with a few parts filled in and a couple dozen blank.
After about 20 cpu minutes, the totality of code that AM creates about
equals that which it started with (the system has doubled in size).
Cardinality has been discovered but not appreciated. Addition and multiplication
have not been encountered yet.
I hope that most of the milestones will be reached in December, 1975.

Please note that a much more detailed thesis proposal was distributed last Spring,
including detailed hypotheses about doing math research, a description of
the knowledge AM starts with, motivations for choosing Math research as a
task domain, potential applications of these ideas, experiments one could
do after AM starts working, and several examples worked out in detail.